World Wide Web (WWW) documents, or Web pages, are widely used for distributing information to a variety of client devices, including personal computers, Web-compatible television set top boxes, personal data assistants (PDAs), wireless telephones, and other Internet connected devices. However, the amount, and quality of content that can be displayed in a Web page without scrolling depends on the size of the device's browser window, which is limited by the available display resolution. When only a small display is available, some of the content may be hidden until the user scrolls the display to disclose the content within the browser window.
Clearly, scrolling to display hidden Web page content is not as convenient as displaying all of the content within a browser window. In contrast, when a large display area is available, the content often does not completely fill the available area, leaving blank space that could be employed to display additional content or information. This blank space within a browser window of a larger display area, which is not used for displaying the primary content of a Web page, would be especially useful for displaying advertising or other non-essential content.
On most personal computers, the minimum display resolution is 640×480 pixels, but it is generally assumed that most users will set their computer display for a resolution of at least 800×600 pixels. Although the maximum display resolution of the video adapters and monitors used on many modern personal computers are substantially greater than this, Web content developers typically design Web pages to be fully displayable without horizontal scrolling in an area of 800×600 pixels. The additional area within the browser window on systems set to a resolution greater than 800×600 pixels (when using the full display area) is thus typically unused on modern personal computer displays. Of course, a user can selectively set the size of a browser window on a display running at a higher resolution so that the browser window uses only a portion of the available display area. For example, the browser window can be selectively adjusted by a user for a width of 800 pixels on a display set for a resolution of 1024×768 pixels.
Conversely, on devices having display areas that are smaller than 800×600 pixels, such as PDAs or Internet enabled cell phones, a user will be required to scroll both horizontally and vertically to view all of a conventional Web page width. Clearly, it would be preferable to supply a Web page to a display of an Internet connected device that is appropriate for the currently available browser window area, so that the content can be viewed without scrolling in at least one of the horizontal and vertical directions.
Unfortunately, server-side documents and applications have no way of directly detecting the amount of display area available in the browser window on any given client device at any particular time. There are only a few ways of adjusting the amount of display area available on any given client device, running any given browser program, at any given time. For example, it might be possible to force a new browser window to open, and specify the browser window size to accommodate the Web page being requested. However, in this case, it would be necessary to make an initial assumption about the display area size available on the client device and predetermine the window size of the Web browser program. In any case, this solution would likely not be acceptable to users, because it would require the requested Web page to change the browser window size, which most users would likely find objectionable. The more common solution to this problem is for the server to simply download a requested Web page in the size required to hold additional content. However, scroll bars are then required to display the additional content, if the browser window on the client device is not sufficiently large.
In some instances, pre-designed content is split into layers or frames that draw from multiple source files. Each layer is set to be either displayed or hidden. However, there is no known use of layers or frames to selectively download and/or display portions of content based on fitting the content within the available display area to limit scrolling to at most one direction. Layering was designed to allow portions of content to overlap each other or appear in a sequence to provide an animation effect. Layering was not designed to provide non-overlapping selective display of content modules based on the size of the display area, because scrolling is relied on for viewing any content that is beyond the margins of the display area. Note also that layering is only applicable to controlling a browser program display, usually on a client device. Layering is not applicable to controlling an active server page, or other server program that does not relate to displaying content. Such server programs usually relate to non-visual data processing and communicating content from the server. Alternatively, frames enable a display to be split into sections, but each frame is provided with its own scrolling capability. Also, any additional scroll bars required in a frame take up more display area. Thus, frames do not enhance efficient use of the display or limit scrolling to at most one direction.
For many smaller devices with fixed display areas, servers detect the requesting device and provide separate specialized content that is formatted for the small display area. The content may be an HDML, WML, or other document format optimized for the size of the display of the requesting device. Often a separate single page of content is pre-defined to fit the display of the numerous possible requesting devices, which requires that multiple documents formatted for each display size be provided.
Alternatively, some systems use proxy servers with content manipulators to pre-process existing documents to reduce, convert and/or compress the content before sending it to the small device. Such systems include Puma Technoloy, Inc.'s PROXYWARE™, International Business Machines, Inc.'s transcoding proxies, and Spyglass, Inc.'s SPYGLASS PRISM™. The approach used by these systems is effected on proxy servers between the Web server containing the requested document and the requesting client device and provides for translating existing documents to a format suitable for the requesting device having a small display. However, no provision is made in these systems for the original designer of the content to modularize or prioritize the content, to control the portions of the content that are displayed based upon the available display or browser window area.
A further alternative would be to scale some content to fit within an available display area on a client device. However, this solution may cause content designed for a small display to be enlarged to fit within a large display area so much as to present a poor impression. Alternatively, content originally designed for a high resolution display may be reduced so much to fit in a relatively small display as to be unreadable or unusable. Also, graphical advertisements, such as banner advertisements, are not typically dynamically resizable, and their effectiveness will likely be substantially reduced if they are scaled. A better solution would be to determine the available size of the browser window or the display (if all of the display is available) and send only the highest priority portion of the content that will fit the available display area without requiring scrolling in more than one direction, or more preferably, without requiring scrolling in other than a vertical direction, or most preferably, without requiring any scrolling.